As indicated by the term High-Definition (HD), video content is becoming increasingly higher in resolution and image quality. Furthermore, audio and music content is achieving higher sound quality. With such developments, content distributed over a packet-switched network (hereinafter referred to as network) is achieving higher quality.
Distribution of content such as video and audio/music over the network can be broadly classified into three forms. The first is a form which does not require real-time distribution, represented by downloading of video or music files. The second is a form which requires semi-real-time distribution, represented by Video On Demand (VOD). The third is a form which requires real-time distribution, represented by bidirectional communication and live video distribution used in teleconference systems, for example. Particularly when real-time content distribution is required, a strict restriction applies to the delay time allowed between the content distribution and completion of content playback.
Next, the real-time distribution of high-quality content over a best-effort network is discussed. Hereinafter, the side from which the content is distributed is referred to as a transmitting node, and the side which plays back the content is referred to as a receiving node.
With the best-effort network such as the Internet, congestion causes packet loss.
Hereinafter, the packet loss caused by congestion over the network is described.
With the network communication, data divided into units called packets is transmitted via a packet switcher (hereinafter referred to as router) provided on the network.
The router has a limited buffer region for temporarily accumulating incoming packets. The following provides a step-by-step description of occurrence of congestion in the router.
FIG. 24 shows an example of occurrence of congestion in the router. Specifically, FIG. 24 is a schematic diagram showing a state in which no packets are accumulated in the buffer region.
In the case where the line speed of an output link which is output from a router 1701 is sufficiently fast and the router 1701 has a sufficient packet-switching capability, packets 1703 and 1704 are sent to the output link without a wait in the buffer region of the router. Here, the transmission delay of the packets 1703 and 1704 is approximately equal to a sum of the physical transmission delays on the network.
However, there are cases where the number of packets 1703 and 1704 entering the router 1701 increases, with the result that the number of the packets 1703 and 1704 goes beyond the line speed of the output link or the packet-switching capability of the router 1701. In such cases, the packets 1703 and 1704 start being accumulated in a buffer 1702 of the router 1701. Note that the buffer 1702 is the buffer region of the router 1701.
FIG. 25 shows another example of occurrence of congestion in the router. Specifically, FIG. 25 shows that packets have started to be accumulated in the buffer 1702.
With an increase in the number of packets 1803 and 1804 entering the router 1701, the packets 1803 and 1804 start to be accumulated in the buffer 1702 of the router 1701.
FIG. 26 shows yet another example of occurrence of congestion in the router. Specifically, FIG. 26 shows that the buffer 1702 is full with packets.
Packets 1903 and 1904 entering the router 1701 at this time overflow the buffer 1702 and end up being discarded. The discard of the packets 1903 and 1904 is known as a packet loss.
To address the packet loss, techniques such as retransmission control and forwarding error correction (FEC) are commonly used.
The retransmission control is to re-transmit the lost packets, thereby consuming at least a round trip time (RTT) of the packets between the transmitting node and the receiving node for packet loss detection and packet re-transmission. Consequently, the retransmission control technique often cannot be used in cases where real-time content distribution is required.
On the other hand, the FEC is a technique of generating, based on a degree of redundancy indicating a recovery capacity for data loss, redundant data for content data which is the original data, and transmitting the content data and the redundant data to the receiving node. Although the FEC consumes an additional network bandwidth compared to the retransmission control in order to transmit the redundant data, the necessary delay time is short. Thus, the FEC is suitable for cases where real-time content distribution is required.
However, although the FEC enables recovery of the original content data using the redundant data when a packet loss occurs, it cannot recover the lost content data when a packet loss occurs beyond the recovery capacity.
In the case of a loss of high-quality content data, noise and discontinuous image/sound are easily noticeable because the original content is high in quality, thereby possibly giving the viewer of the content a relatively greater feeling of discomfort. Conversely, an unnecessarily high redundancy results in an increase in the consumption of the network bandwidth caused by additional redundant data transmission, regardless of whether or not a packet loss occurs.
Here, since the available network bandwidth is limited, an increase in the network bandwidth consumed for the redundant data transmission leads to a decrease in the network bandwidth available for the content data transmission. A large amount of information is essentially needed when a content source such as video, audio, and music is to be coded in high quality. However, insufficiency in the information rate (hereinafter referred to as coding rate) available for coding the content source causes degradation in the content quality, such as noise breakout, which is undesirable.
In view of the above, it is necessary to recover the original content data and prevent unnecessary use of bandwidth for the additional redundant data transmission.
PTL 1 discloses a method of dynamically determining FEC redundancy which indicates a recovery capacity for data loss, based on a relatively long-term statistic such as a packet loss rate.
It is also possible to predict a packet loss using an index indicating network congestion, known as Explicit Congestion Notification (ECN).
PTL 2 discloses a method of predicting a packet loss using ECN feedback and a past packet loss pattern.